Within the last several years, digitization of video images has become increasingly important. In addition to their use in global communication (e.g., videoconferencing), digital video recording (DVDs, SVCDs, PVRs, etc.) has also become increasingly popular. In each of these applications, video (and accompanying audio) information is transmitted across communication links or stored in electronic form.
Efficient transmission, reception, and storage of video data typically requires encoding and compression of video (and accompanying audio) data. Video compression coding is a method of encoding digital video data such that less memory is required to store the video data and less transmission bandwidth is required to transmit the video data. Various compression/decompression (CODEC) schemes are frequently used to compress video frames to reduce required transmission bit rates.
Several approaches and standards to encoding and compressing source video signals exist. Historically, video compression standards have been designed for a particular application, such as ITU-T standards H.261 and H.263, which are used extensively in video conferencing applications, and the various standards promulgated by the Moving Picture Experts' Group (e.g., MPEG-1 and MPEG-2), which are typically used in consumer electronics applications. With the proliferation of various devices requiring some form of video compression, harmonization between these two groups of standards has been sought. To some extent, such standardization has been achieved by the ITU-T H.264 standard, which shares various common elements with the Moving Picture Experts' Group MPEG-4 standard, colloquially known as Advanced Video Coding or AVC. Each of these standards is incorporated by reference in its entirety.
In some cases, it is desirable to construct an image (or sequence of images) as a composite or an overlay combination of two different images. One example would be the weatherman on the nightly news standing in front of the computer-generated weather map. In this example, the video of the weatherman is recorded in front of a solid color background, e.g., a blue or green screen. In the resulting digital video images, the blue or green pixels (corresponding to the background) are set to have an alpha value corresponding to complete transparency, while the remaining pixels (which make up the image of the weatherman himself) have an alpha value corresponding to complete opacity. This image is then overlaid onto the computer-generated weather map images. As a result, the pixels having a fully transparent alpha value (the background) allow the underlying weather map to show, while the pixels having a fully opaque alpha value (the weatherman) prevent the background from showing, and instead show the image of the weatherman. The result is the familiar image of a weatherman who appears to be standing in front of a full screen weather map image.
There are a variety of other applications of transparency in image and video processing. A common element of all such applications, known to those skilled in the art, is that each pixel has a transparency, or “alpha” value associated with it. The alpha values are preferably arranged to create a “mask” image, which is preferably included in a separate channel. As originally drafted, the AVC standard did not include the capabilities for an alpha channel. However, to accommodate a wider variety of applications, it was agreed to add an alpha channel to the standard. However, accommodating the additional information required extensions to the standard, and it was desired to do so in a way that provided the most convenient and efficient processing of video having an alpha channel while simultaneously not unduly complicating the standard in the case of video that does not include an alpha channel.
Therefore, what is needed in the art is an extension to various video coding standards that allows for the convenient and efficient transmission of an alpha channel, while still preserving the optional nature of such a channel and not creating undue overhead in the video codec.